//
//  ColorExt.swift
//  test-ios
//
//  Created by wyz5204 on 2023/2/25.
//

import UIKit


extension UIColor {
    
    /// 颜色生成 image
    func glImage(_ size: CGSize) -> UIImage {
        let rect = CGRect.init(x: 0, y: 0, width: size.width, height: size.height)
        UIGraphicsBeginImageContext(rect.size)
        let content = UIGraphicsGetCurrentContext()
        content?.setFillColor(self.cgColor)
        content?.fill(rect)
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
    }
    
    /// 暗黑模式适配
    private class func setupColor(_ light: String, drak: String) ->UIColor {
        if #available(iOS 13.0, *) {
            return  UIColor.init { (trait:UITraitCollection) -> UIColor in
                return trait.userInterfaceStyle == .dark ? drak.hexColor:light.hexColor
            }
        }else {
            return light.hexColor
        }
    }
    
    /// 主题色
    class var gl_theme: UIColor {
        return setupColor("3742ff", drak: "3742ff")
    }
    /// 背景色
    class var gl_background: UIColor {
        return setupColor("F3F3F3", drak: "F3F3F3")
    }
    /// price
    class var gl_price: UIColor {
        return setupColor("3742ff", drak: "3742ff")
    }
    /// line
    class var gl_line: UIColor {
        return setupColor("eeeeee", drak: "eeeeee")
    }
    class var gl_shadow: UIColor {
        return setupColor("bec1d4", drak: "bec1d4")
    }
    class var gl_placeholder: UIColor {
        return setupColor("bababa", drak: "bababa")
    }
    /// title
    @objc class var gl_title: UIColor {
        return setupColor("333333", drak: "333333")
    }
    /// subtitle
    class var gl_subTitle: UIColor {
        return setupColor("606060", drak: "606060")
    }
    /// detailTitle
    @objc class var gl_detailTitle: UIColor {
        return setupColor("909090", drak: "909090")
    }
    /// white
    class var gl_white: UIColor {
        return setupColor("FFFFFF", drak: "FFFFFF")
    }
    class var gl_black: UIColor {
        return setupColor("000000", drak: "000000")
    }
    
    class var gl_efefef: UIColor {
        return setupColor("EFEFEF", drak: "EFEFEF")
    }
    class var gl_fefefe: UIColor {
        return setupColor("fefefe", drak: "fefefe")
    }
    class var gl_dcdcdc: UIColor {
        return setupColor("dcdcdc", drak: "dcdcdc")
    }
    class var gl_bababa: UIColor {
        return setupColor("bababa", drak: "bababa")
    }
    class var gl_bec1d4: UIColor {
        return setupColor("bec1d4", drak: "bec1d4")
    }
    class var gl_f2f2f2: UIColor {
        return setupColor("f2f2f2", drak: "f2f2f2")
    }
    class var gl_f5f5f5: UIColor {
        return setupColor("f5f5f5", drak: "f5f5f5")
    }
    /// button bg colore
    class var gl_button_bg: UIColor {
        return setupColor("3742ff", drak: "3742ff")
    }
    class var gl_button_disabled_bg: UIColor {
        return setupColor("B2B2B2", drak: "B2B2B2")
    }
    class var gl_5388AC: UIColor {
        return setupColor("5388AC", drak: "5388AC")
    }
    class var gl_ff9e18: UIColor {
        return setupColor("ff9e18", drak: "ff9e18")
    }
    class var gl_bfbfbf: UIColor {
        return setupColor("bfbfbf", drak: "bfbfbf")
    }
    class var gl_ebecfe: UIColor {
        return setupColor("ebecfe", drak: "ebecfe")
    }
    
    /// 暗黑模式适配
    private class func initColor(_ light: String, drak: String) ->UIColor {
        if #available(iOS 13.0, *) {
            return  UIColor.init { (trait:UITraitCollection) -> UIColor in
                return trait.userInterfaceStyle == .dark ? drak.hexColor:light.hexColor
            }
        }else {
            return light.hexColor
        }
    }
    
    /// 主题色
    @objc class var rd_theme: UIColor {
        return initColor("580eff", drak: "580eff")
    }
    /// 背景色
    @objc class var rd_background: UIColor {
        return initColor("f0f2f5", drak: "f0f2f5")
    }
    /// 白色
    @objc class var rd_white: UIColor {
        return initColor("ffffff", drak: "ffffff")
    }
    /// 黑色
    @objc class var rd_black: UIColor {
        return initColor("000000", drak: "000000")
    }
    /// 分割线
    @objc class var rd_line: UIColor {
        return initColor("F4F6F9", drak: "F4F6F9")
    }
    
    
    /// 通用背景颜色
    class var background: UIColor {
        return initColor("F0F2F5", drak: "F0F2F5")
    }
    
    class var theme: UIColor {// 蓝色
        return initColor("0080FF", drak: "0080FF")
    }

    class var black_dark: UIColor {
        return initColor("262626", drak: "262626")
    }
    class var black_medium: UIColor {
        return initColor("606266", drak: "606266")
    }
    class var black_light: UIColor {
        return initColor("909399", drak: "909399")
    }
    class var hongSe: UIColor {
        return initColor("D90804", drak: "D90804")
    }
    /// 通用分割线颜色
    class var separatorLine: UIColor {
        return initColor("F0F2F5", drak: "F0F2F5")
    }
    
    class var searchBackground: UIColor {
        return initColor("F1F2F4", drak: "F1F2F4")
    }
    
    class var searchPlaceholder: UIColor {
        return initColor("C0C4CC", drak: "C0C4CC")
    }
    
    @objc class var rd_262626: UIColor {
        return initColor("262626", drak: "262626")
    }
    @objc class var rd_606266: UIColor {
        return initColor("606266", drak: "606266")
    }
    @objc class var rd_7d8791: UIColor {
        return initColor("7d8791", drak: "7d8791")
    }
    @objc class var rd_ff4545: UIColor {
        return initColor("ff4545", drak: "ff4545")
    }
    @objc class var rd_f5e3e4: UIColor {
        return initColor("f5e3e4", drak: "f5e3e4")
    }
    @objc class var rd_ffe8e8: UIColor {
        return initColor("ffe8e8", drak: "ffe8e8")
    }
    @objc class var rd_f4f5f7: UIColor {
        return initColor("f4f5f7", drak: "f4f5f7")
    }
    @objc class var rd_f77c00: UIColor {
        return initColor("f77c00", drak: "f77c00")
    }
    @objc class var rd_909399: UIColor {
        return initColor("909399", drak: "909399")
    }
    @objc class var rd_13a839: UIColor {
        return initColor("13a839", drak: "13a839")
    }
    @objc class var rd_f1f2f4: UIColor {
        return initColor("f1f2f4", drak: "f1f2f4")
    }
    @objc class var rd_0085ff: UIColor {
        return initColor("0085ff", drak: "0085ff")
    }
    @objc class var rd_0066ff: UIColor {
        return initColor("0066ff", drak: "0066ff")
    }
    /// 取消按钮
    @objc class var rd_button_cancel: UIColor {
        return initColor("606266", drak: "606266")
    }
    /// 蓝色
    @objc class var rd_blue: UIColor {
        return initColor("0080ff", drak: "0080ff")
    }
    /// pageIndicatorTintColor
    @objc class var rd_pageTintColor: UIColor {
        return initColor("a8b2c3", drak: "a8b2c3")
    }
    /// 一级标题
    @objc class var rd_title_one: UIColor {
        return initColor("262626", drak: "262626")
    }
    /// 二级标题
    @objc class var rd_title_two: UIColor {
        return initColor("606266", drak: "606266")
    }
    /// 三级标题
    @objc class var rd_title_three: UIColor {
        return initColor("909399", drak: "909399")
    }
    /// 绿色按钮背景色
    @objc class var rd_button_green: UIColor {
        return initColor("47C20A", drak: "47C20A")
    }
    
    @objc class var rd_95C8FB: UIColor {
        return initColor("95C8FB", drak: "95C8FB")
    }
    
    @objc class var rd_303133: UIColor {
        return initColor("303133", drak: "303133")
    }
    
    @objc class var rd_333333: UIColor {
        return initColor("333333", drak: "333333")
    }
    
    @objc class var rd_494949: UIColor {
        return initColor("494949", drak: "494949")
    }
    @objc class var rd_4c5661: UIColor {
        return initColor("4c5661", drak: "4c5661")
    }
    
    
    
    @objc class var rd_555555: UIColor {
        return initColor("555555", drak: "555555")
    }
    
    @objc class var rd_565656: UIColor {
        return initColor("565656", drak: "565656")
    }
    
    @objc class var rd_606366: UIColor {
        return initColor("606366", drak: "606366")
    }
    
    
    @objc class var rd_666666: UIColor {
        return initColor("666666", drak: "666666")
    }
    
    @objc class var rd_676767: UIColor {
        return initColor("676767", drak: "676767")
    }
    
    
    
    @objc class var rd_919191: UIColor {
        return initColor("919191", drak: "919191")
    }
    
    @objc class var rd_999999: UIColor {
        return initColor("999999", drak: "999999")
    }
    
    
    @objc class var rd_888888: UIColor {
        return initColor("888888", drak: "888888")
    }
    
    @objc class var rd_cccccc: UIColor {
        return initColor("cccccc", drak: "cccccc")
    }
    @objc class var rd_5a97f8: UIColor {
        return initColor("5a97f8", drak: "5a97f8")
    }
    @objc class var rd_f2f2f2: UIColor {
        return initColor("f2f2f2", drak: "f2f2f2")
    }
    @objc class var rd_ff5c5c: UIColor {
        return initColor("ff5c5c", drak: "ff5c5c")
    }
    @objc class var rd_b5b5b5: UIColor {
        return initColor("b5b5b5", drak: "b5b5b5")
    }
    @objc class var rd_b4c9f6: UIColor {
        return initColor("b4c9f6", drak: "b4c9f6")
    }
    @objc class var rd_4cbb86: UIColor {
        return initColor("4cbb86", drak: "4cbb86")
    }
    @objc class var rd_d1d1d1: UIColor {
        return initColor("d1d1d1", drak: "d1d1d1")
    }
    @objc class var rd_f79714: UIColor {
        return initColor("f79714", drak: "f79714")
    }
    @objc class var rd_f7ae02: UIColor {
        return initColor("f7ae02", drak: "f7ae02")
    }
    @objc class var rd_f78f00: UIColor {
        return initColor("f78f00", drak: "f78f00")
    }
    @objc class var rd_f77d02: UIColor {
        return initColor("f77d02", drak: "f77d02")
    }
    @objc class var rd_ff2639: UIColor {
        return initColor("ff2639", drak: "ff2639")
    }
    //rd_00c600
    @objc class var rd_00c600: UIColor {
        return initColor("00c600", drak: "00c600")
    }
    @objc class var rd_babec4: UIColor {
        return initColor("babec4", drak: "babec4")
    }
    @objc class var rd_0a67ad: UIColor {
        return initColor("0a67ad", drak: "0a67ad")
    }
    @objc class var rd_eeeeee: UIColor {
        return initColor("eeeeee", drak: "eeeeee")
    }
    @objc class var rd_3c7eec: UIColor {
        return initColor("3c7eec", drak: "3c7eec")
    }
    @objc class var rd_e8e8e8: UIColor {
        return initColor("e8e8e8", drak: "e8e8e8")
    }
    @objc class var rd_e8f2fd: UIColor {
        return initColor("e8f2fd", drak: "e8f2fd")
    }
    @objc class var rd_ececec: UIColor {
        return initColor("ececec", drak: "ececec")
    }
    @objc class var rd_eceff3: UIColor {
        return initColor("eceff3", drak: "eceff3")
    }
    @objc class var rd_f0f3f4: UIColor {
        return initColor("f0f3f4", drak: "f0f3f4")
    }
    @objc class var rd_0061a9: UIColor {
        return initColor("0061a9", drak: "0061a9")
    }
    @objc class var rd_8ec77d: UIColor {
        return initColor("8ec77d", drak: "8ec77d")
    }
    @objc class var rd_eafae9: UIColor {
        return initColor("eafae9", drak: "eafae9")
    }
    @objc class var rd_47c23a: UIColor {
        return initColor("47c23a", drak: "47c23a")
    }
    @objc class var rd_409eff: UIColor {
        return initColor("409eff", drak: "409eff")
    }
    @objc class var rd_f9f9f9: UIColor {
        return initColor("f9f9f9", drak: "f9f9f9")
    }
    @objc class var rd_bbbbbb: UIColor {
        return initColor("bbbbbb", drak: "bbbbbb")
    }
    @objc class var rd_10101a: UIColor {
        return initColor("10101a", drak: "10101a")
    }
    @objc class var rd_f1f1f2: UIColor {
        return initColor("f1f1f2", drak: "f1f1f2")
    }
    @objc class var rd_2a83fb: UIColor {
        return initColor("2a83fb", drak: "2a83fb")
    }
    @objc class var rd_9cc8ff: UIColor {
        return initColor("9cc8ff", drak: "9cc8ff")
    }
    @objc class var rd_eaebed: UIColor {
        return initColor("eaebed", drak: "eaebed")
    }
    @objc class var rd_dbdbdb: UIColor {
        return initColor("dbdbdb", drak: "dbdbdb")
    }
    @objc class var rd_dcdfe6: UIColor {
        return initColor("dcdfe6", drak: "dcdfe6")
    }
    @objc class var rd_4997f9: UIColor {
        return initColor("4997f9", drak: "4997f9")
    }
    @objc class var rd_e6a23c: UIColor {
        return initColor("e6a23c", drak: "e6a23c")
    }
    
    @objc class var rd_f4f6f9: UIColor {
        return initColor("f4f6f9", drak: "f4f6f9")
    }
    @objc class var rd_f56c6c: UIColor {
        return initColor("f56c6c", drak: "f56c6c")
    }
    @objc class var rd_dddcdd: UIColor {
        return initColor("dddcdd", drak: "dddcdd")
    }
    @objc class var rd_dddddd: UIColor {
        return initColor("dddddd", drak: "dddddd")
    }
    @objc class var rd_007bff: UIColor {
        return initColor("007bff", drak: "007bff")
    }
    @objc class var rd_fcfcfd: UIColor {
        return initColor("fcfcfd", drak: "fcfcfd")
    }
    @objc class var rd_b2b2b2: UIColor {
        return initColor("b2b2b2", drak: "b2b2b2")
    }
    @objc class var rd_e2e2ea: UIColor {
        return initColor("e2e2ea", drak: "e2e2ea")
    }
    @objc class var rd_e2f1ff: UIColor {
        return initColor("e2f1ff", drak: "e2f1ff")
    }
    @objc class var rd_c5cee0: UIColor {
        return initColor("c5cee0", drak: "c5cee0")
    }
    @objc class var rd_c0c4cc: UIColor {
        return initColor("c0c4cc", drak: "c0c4cc")
    }
    @objc class var rd_68c23a: UIColor {
        return initColor("68c23a", drak: "68c23a")
    }
    @objc class var rd_a6adb4: UIColor {
        return initColor("a6adb4", drak: "a6adb4")
    }
    @objc class var rd_bbf9ff: UIColor {
        return initColor("bbf9ff", drak: "bbf9ff")
    }
    @objc class var rd_3292d9: UIColor {
        return initColor("3292d9", drak: "3292d9")
    }
    @objc class var rd_efefef: UIColor {
        return initColor("efefef", drak: "efefef")
    }
    @objc class var rd_199ef8: UIColor {
        return initColor("199ef8", drak: "199ef8")
    }
    @objc class var rd_f0f2f5: UIColor {
        return initColor("f0f2f5", drak: "f0f2f5")
    }
    @objc class var rd_979797: UIColor {
        return initColor("979797", drak: "979797")
    }
    @objc class var rd_e9e9e9: UIColor {
        return initColor("e9e9e9", drak: "e9e9e9")
    }
    @objc class var rd_e1e1e1: UIColor {
        return initColor("e1e1e1", drak: "e1e1e1")
    }
    @objc class var rd_ff4f4f: UIColor {
        return initColor("ff4f4f", drak: "ff4f4f")
    }
    @objc class var rd_e5e5e5: UIColor {
        return initColor("e5e5e5", drak: "e5e5e5")
    }
    @objc class var rd_ff4d4f: UIColor {
        return initColor("ff4d4f", drak: "ff4d4f")
    }
    @objc class var rd_f69f09: UIColor {
        return initColor("f69f09", drak: "f69f09")
    }
    @objc class var rd_f6f6f6: UIColor {
        return initColor("f6f6f6", drak: "f6f6f6")
    }
    @objc class var rd_f6e8d6: UIColor {
        return initColor("f6e8d6", drak: "f6e8d6")
    }
    @objc class var rd_91b4f8: UIColor {
        return initColor("91b4f8", drak: "91b4f8")
    }
    @objc class var rd_32b16c: UIColor {
        return initColor("32b16c", drak: "32b16c")
    }
    @objc class var rd_d2d2d2: UIColor {
        return initColor("d2d2d2", drak: "d2d2d2")
    }
    @objc class var rd_ffffff: UIColor {
        return initColor("ffffff", drak: "ffffff")
    }
    @objc class var rd_d9dde2: UIColor {
        return initColor("d9dde2", drak: "d9dde2")
    }
    @objc class var rd_d7d9de: UIColor {
        return initColor("d7d9de", drak: "d7d9de")
    }
    @objc class var rd_0060ff: UIColor {
        return initColor("0060ff", drak: "0060ff")
    }
    @objc class var rd_f85454: UIColor {
        return initColor("f85454", drak: "f85454")
    }
    @objc class var rd_0080ff: UIColor {
        return initColor("0080ff", drak: "0080ff")
    }
    @objc class var rd_3a3a3a: UIColor {
        return initColor("3a3a3a", drak: "3a3a3a")
    }
    @objc class var rd_47c20a: UIColor {
        return initColor("47c20a", drak: "47c20a")
    }
    @objc class var rd_ff9b1a: UIColor {
        return initColor("ff9b1a", drak: "ff9b1a")
    }
    @objc class var rd_4882f3: UIColor {
        return initColor("4882f3", drak: "4882f3")
    }
    @objc class var rd_f1f1f1: UIColor {
        return initColor("f1f1f1", drak: "f1f1f1")
    }
    @objc class var rd_f1f3f6: UIColor {
        return initColor("f1f3f6", drak: "f1f3f6")
    }
    @objc class var rd_f5f7fa: UIColor {
        return initColor("f5f7fa", drak: "f5f7fa")
    }
    @objc class var rd_fafafa: UIColor {
        return initColor("fafafa", drak: "fafafa")
    }
    @objc class var rd_aabcc9: UIColor {
        return initColor("aabcc9", drak: "aabcc9")
    }
    @objc class var rd_f8f9fa: UIColor {
        return initColor("f8f9fa", drak: "f8f9fa")
    }
    @objc class var rd_a8a9ab: UIColor {
        return initColor("a8a9ab", drak: "a8a9ab")
    }
    @objc class var rd_ffc53d: UIColor {
        return initColor("ffc53d", drak: "ffc53d")
    }
    @objc class var rd_05050c: UIColor {
        return initColor("05050c", drak: "05050c")
    }
    /// 蓝色消息气泡背景色
    @objc class var rd_c8e3fd: UIColor {
        return initColor("c8e3fd", drak: "c8e3fd")
    }
    
    @objc class var rd_c1d7ed: UIColor {
        return initColor("c1d7ed", drak: "c1d7ed")
    }
    @objc class var rd_e5f2ff: UIColor {
        return initColor("e5f2ff", drak: "e5f2ff")
    }
    @objc class var rd_222d38: UIColor {
        return initColor("222d38", drak: "222d38")
    }
    @objc class var rd_ff6d6d: UIColor {
        return initColor("ff6d6d", drak: "ff6d6d")
    }
    @objc class var rd_f8ce96: UIColor {
        return initColor("f8ce96", drak: "f8ce96")
    }
    @objc class var rd_b7cfe4: UIColor {
        return initColor("b7cfe4", drak: "b7cfe4")
    }
    @objc class var rd_c2c8cf: UIColor {
        return initColor("c2c8cf", drak: "c2c8cf")
    }
    @objc class var rd_217efb: UIColor {
        return initColor("217efb", drak: "217efb")
    }
    @objc class var rd_f53e3e: UIColor {
        return initColor("f53e3e", drak: "f53e3e")
    }
}
